<?php
/**
 * 数据库读写分离管理类
 * 该类 结合分库分表使用，不支持单独使用
 */
 
class CDbConnectionMasterSlave extends CDbConnection {
	/**
	 * 是否启用从库连接
	 * @var bool $enableSlave 
	 */
	public $enableSlave = true;

	/**
	 * 创建一个CDbCommand对象执行SQL语句语句.
	 * 读写判断，强制主库等
	 * 
	 * @param mixed $sql
	 * @return CDbCommand
	 */
	public function createCommand($sql = null) {
		return new CDbCommandExt($this, $sql);
	}

	/**
	 * 获取一个从库链接.
	 * @return CDbConnection
	 */
	public function getSlave() {
		$slave = CDbManager::conn()->getDbConnection(false);
		if(!$slave) throw new Exception('No slave configuration is available!');
		
		return $slave;
	}
}
